package com.smarthome.core.advicemanager;

import java.util.List;

import com.smarthome.domain.bean.ShAccountMessage;
import com.smarthome.domain.vo.boss.Combobox;
import com.smarthome.domain.vo.boss.DataGrid;
import com.smarthome.domain.vo.boss.PageHelper;
/**
 * 
* @ClassName: SystemMessageService
* @Description: TODO(系统消息服务接口)
* @author cyj
* @date 2015年9月28日 下午11:39:23
*
 */
public interface SystemMessageService {

	/**
	 * 
	* queryShAccountMessageById(根据id获取平台用户消息对象)
	* @Title: queryShAccountMessageById
	* @Description: TODO
	* @param id
	* @return
	* ShAccountMessage
	* @throws
	* @author cyj
	* @date 2015年9月24日 上午11:55:57
	 */
	ShAccountMessage queryShAccountMessageById(Long id);
	
	/**
	 * 
	* qeuryDataGrid(根据条件获取平台用户消息数据列表)
	* @Title: qeuryDataGrid
	* @Description: TODO
	* @param accountMessage
	* @param page
	* @return
	* DataGrid
	* @throws
	* @author cyj
	* @date 2015年9月24日 上午11:56:17
	 */
	DataGrid qeuryDataGrid(ShAccountMessage accountMessage,PageHelper page);
	
	/**
	 * 
	* saveOrUpdate
	* @Title: saveOrUpdate
	* @Description: 保存或更新系统消息
	* @param accountMessage
	* @return
	* int
	* @throws
	* @author cyj
	* @date 2015年9月24日 上午11:56:36
	 */
	int saveOrUpdate(ShAccountMessage accountMessage);
	
	/**
	 * 
	* delete(根据id删除平台用户消息)
	* @Title: delete
	* @Description: TODO
	* @param id
	* @return
	* int
	* @throws
	* @author cyj
	* @date 2015年9月24日 上午11:57:19
	 */
	int delete(Long id);
	
	/**
	 * 
	* sendStatus(获取发送状态combobox列表)
	* @Title: sendStatus
	* @Description: TODO
	* @return
	* List<Combobox>
	* @throws
	* @author cyj
	* @date 2015年9月24日 上午11:57:53
	 */
	List<Combobox> sendStatus();
	
	/**
	 * 
	* recieveStatus(获取接收状态combobox列表)
	* @Title: recieveStatus
	* @Description: TODO
	* @return
	* List<Combobox>
	* @throws
	* @author cyj
	* @date 2015年9月24日 上午11:58:06
	 */
	List<Combobox> recieveStatus();
	
	
	/**
	 * 
	* getAccountMessages
	* @Title: getAccountMessages
	* @Description: 根据条件获取系统消息列表
	* @param queryAccountMessage
	* @return
	* List<ShAccountMessage>
	* @throws
	* @author cyj
	* @date 2015年10月15日 下午5:21:55
	 */
	List<ShAccountMessage> getAccountMessages(ShAccountMessage queryAccountMessage);
	
	/**
	 * 
	* add
	* @Title: add
	* @Description: 添加系统消息
	* @param accountMessages
	* @return
	* int
	* @throws
	* @author cyj
	* @date 2015年10月16日 上午10:05:01
	 */
	int add(ShAccountMessage... accountMessages);
	
	
	/**
	 * 
	* count
	* @Title: count
	* @Description: 根据条件获取系统消息数量
	* @param accountMessages
	* @return
	* int
	* @throws
	* @author cyj
	* @date 2015年10月16日 下午7:19:32
	 */
	int count(ShAccountMessage accountMessages);
	
	
	/**
	 * 
	* batchUpdate
	* @Title: batchUpdate
	* @Description: 批量更新，根据queryData里的ids
	* @param accountMessage
	* @return
	* int
	* @throws
	* @author cyj
	* @date 2015年11月19日 下午6:53:17
	 */
	int batchUpdate(ShAccountMessage accountMessage);
}
